Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červenec (YouTube).
Konečně se ochladilo, možná i díky tomu přestaly na chvíli padat rakety jako přezrálé hrušky, díky čemuž se na Virtuální Bastlírně dostane i na jiná, přízemnější témata. Pokud si chcete jako každý měsíc popovídat s dalšími bastlíři, techniky, vědci a profesory u virtuálního pokecu u piva, Virtuální Bastlírna je tu pro Vás.
Ještě před ochlazením se drát na vedení V411 roztáhl o 17 metrů (přesné číslo není známé, ale drát nepřežil) a způsobil tak… více »Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
PixiEditor byl vydán ve verzi 2.0. Jedná se o multiplatformní univerzální all-in-one 2D grafický editor. Zvládne rastrovou i vektorovou grafiku, pixel art, k tomu animace a efekty pomocí uzlového grafu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU LGPL 3.0.
Byly představeny novinky v Raspberry Pi Connect for Organisations. Vylepšen byl protokol auditu pro lepší zabezpečení. Raspberry Pi Connect je oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče. Verze pro organizace je placená. Cena je 0,50 dolaru za zařízení za měsíc.
CISA (Cybersecurity and Infrastructure Security Agency) oznámila veřejnou dostupnost škálovatelné a distribuované platformy Thorium pro automatizovanou analýzu malwaru. Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 3. snapshot Ubuntu 25.10 (Questing Quokka).
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia Proton Authenticator. S otevřeným zdrojovým kódem a k dispozici na všech zařízeních. Snadno a bezpečně synchronizujte a zálohujte své 2FA kódy. K používání nepotřebujete Proton Account.
Argentinec, který byl náhodně zachycen Google Street View kamerou, jak se zcela nahý prochází po svém dvorku, vysoudil od internetového giganta odškodné. Soud uznal, že jeho soukromí bylo opravdu porušeno – Google mu má vyplatit v přepočtu asi 12 500 dolarů.
Eben Upton, CEO Raspberry Pi Holdings, informuje o RP2350 A4, RP2354 a nové hackerské výzvě. Nový mikrokontrolér RP2350 A4 řeší chyby, i bezpečnostní, předchozího RP2350 A2. RP2354 je varianta RP2350 s 2 MB paměti. Vyhlášena byla nová hackerská výzva. Vyhrát lze 20 000 dolarů.
Pod pojmem jednočipový mikropočítač se obvykle rozumí součástka (integrovaný obvod, brouk), která obsahuje téměř všechny obvody nutné pro samostatný běh interního programu. Jednočipový mikropočítač tedy obsahuje procesor, paměť a vstupně-výstupní obvody. Jednočipových mikropočítačů je na trhu celá škála. Liší se zejména taktovací frekvencí, architekturou, velikostí paměti RAM, velikostí paměti FLASH (pro uložení kódu programu), velikostí paměti EEPROM (nemusí být vůbec žádná), vybavením různými periferiemi (čítače, časovače, AD převodníky, komparátory, sériový port, atd.), spotřebou proudu a dalšími parametry.
Smysl jednočipových mikropočítačů spočívá v ovládání jednoduchých věcí, uživatelský interface představuje nejčastěji zkratování nožiček či rozsvícení LEDky, takže jejich parametry mohou být nesrovnatelně horší než u stolních počítačů. Ale neopovrhujte jimi - jejich výhodami jsou nízká cena, jednoduchost a nízká spotřeba.
Jednočipové mikropočítače vyrábí mnoho firem, z nichž nejznámnější (nikoliv jediné) jsou čipy Atmel a PIC. Vyznavači jednotlivých firem mezi sebou neustále vedou nekonečné hádky, které jednočipy jsou lepší, které se lépe programují, které lépe chutnají či hoří a vůbec. Doufám, že nikoho neurazím, když se v tomto článku budu věnovat čipům firmy Atmel.
I od firmy Atmel pochází mnoho typů obvodů, jejichž zevrubný popis by byl velmi zdlouhavý. Soustředím se pouze na to, s čím mám praktické zkušenosti, a to jsou obvody
Obvod AT89C2051 lze zakoupit za necelých 50 Kč a dostanete za to procesor s CISC architekturou pracující až do frekvence 24 MHZ, 2KB FLASH (tam se zapisuje kód programu), 128 bytů RAM, sériový port, 15 vstupně-výstupních pinů a dva šestnáctibitové čítače/časovače. Zpracování jedné instrukce trvá nejméně šest hodinových tiků.
Obvod AT90S2313 stojí trochu víc, asi 70 Kč a procesor pracuje do 10 MHz. Patří do řady, kterou výrobce označuje jako AVR. Je to architektura RISC a zpracování instrukce trvá většinou pouze jeden tik, takže procesor je ve výsledku výrazně rychlejší, než dříve zmíněný AT89C2051. Čip dále obsahuje 2KB FLASH, 128 bytů EEPROM, 128 bytů RAM, a jeden osmibitový a jeden šestnáctibitový čítač/časovač. V počtu IO pinů, RS 232 rozhraní (sériový port) a komparátoru se čipy neliší. Za tu dvacku navíc však získáte obrovskou, opakuji OBROVSKOU výhodu - pro přeprogramování čipu nepotřebujete žádný zvláštní obvod (programátor), a navíc jej můžete přeprogramovat přímo za běhu. Nemusíte jej kvůli změně programu ani vytahovat z patice.
Pro oba čipy platí, že jestliže pouze připojíte napájecí zdroj, nebude se navenek vůbec nic dít, protože nejsou připojeny žádné výstupní periferie. Ba dokonce se nebude nic dít ani uvnitř, a to z toho důvodu, že čip neobsahuje žádný zdroj hodin (clock), taktů čili tiků, takže neprovádí instrukce. Nicméně pro hodiny má vyveden vstup - XTAL1 (pin č.5). Uzemníte-li drátkem tento vstup a pak ho naopak připojíte na +5V a pak ho zase uzemníte a tak pořád dokola, začnou se líně vykonavát instrukce. To je sice postup možný, ale velmi nepraktický, proto je vhodnější tuto práci svěřit krystalu. Krystal se připojuje na vývody XTAL1 a XTAL2 a každý vývod se ještě přes kondenzátor o kapacitě cca 30pF spojí se zemí. Schéma tedy vypadá následovně:
Krystal můžete připojit jakýkoli až do maximální frekvence, kterou zvládá čip. Pro čip AT90S2313 vřele doporučuji použít krystal o frekvenci 9.216 MHz, protože tuto frekvenci lze celočíselně vydělit tak, že dostanete pro sériový port některou ze standardních přenosových rychlostí. Ale o sériovém portu až příště. Ještě jedna poznámka ke krystalu - připlaťte si desetikačku a kupte si přesnější variantu. Vyplatí se to, až třeba budete programovat hodiny reálného času.
Takže teď už program v jednočipu běží. Jaký program? Ten, co tam zrovna je. Cílem tohoto článku je ukázat způsob, jak právě váš program nasypat do jednočipu.
Zdroják pro program se píše na klasickém počítači, tam se i kompiluje a binárka se poté přelije do jednočipu.
Výsledkem kompilace je buď přimo binárka nebo soubor ve formátu Intel HEX. Intel HEX je v podstatě taky zápis binárky, ale pomocí ASCII hexadecimálně zapsaných hodnot a ještě čehosi, ale zkrátka je to textový soubor. Smysl jeho existence jsem nepochopil, ale tento formát už v oblasti jednočipů patří ke koloritu. Naštěstí je možné jej zkonvertovat do binárky pomocí programu makebin případně hex2bin.
Výslednou binárku je potřeba nějakým způsobem dostat do jednočipu. K programování obvodu AT89C2051 je potřeba za několik set až tisíc korun zakoupit tzv. programátor. Při každé změně kódu je nutné vytáhnout čip, zasunout do patice programátoru, nalít nový program, a opět čip přemístit zpátky. Komunikační protokol pro ovládání daného typu programátoru navíc bývá proprietární záležitost.
Anebo si kupte AT90S2313, který je o chlup dražší, ale je s ním podstatně veselejší práce. Ještě poslední zmínku o řadě AT89 - abych jen nezatracoval - existuje ještě AT89C4051, který má dvakrát tolik paměti pro program (4KB) a stojí asi 60 Kč. V dalším popisu se budu věnovat pouze AT90S2313.
Teď přijde na řadu "programátor". Využijeme zde paralelního portu, jehož piny připojte na piny jednočipu podle této tabulky:
piny jednočipu | piny paralelního portu |
---|---|
SCK (19) | Strobe (1) |
MISO (18) | Busy (11) |
MOSI (17) | D0 (2) |
Reset (1) | Init (16) |
GND (10) | GND (18) |
V závorce je uvedeno číslo pinu. K přeprogramování tedy potřebujete pět drátků a konektor (samec) do paralelního portu. K čipu musí být připojeno napájení a krystal (přes ty dva cca 30pF kondenzátory, jak je popsáno výše). Takže celkové schéma bude vypadat následovně:
Krása hotového obvodu vás jistě donutí k slzám:
Budete tedy potřebovat následující součástky:
V seznamu součástek jsem zmínil nepájivé kontaktní pole, které se může zdát zbytečné, ale rozhodně si ho za nekřesťanských 150 Kč kupte. Připravte se na to, že v obvodu budete každou chvíli provádět nějakou změnu a neustálé pájení drátků by vás brzy dokonale znechutilo. Jestliže nemáte napájecí zdroj 3-5 V, kupte si obvod LM78L05 (což je napěťový stabilizátor na 5 V) a vykšeftujte ve vietnamské tržnici libovolný adaptér, k němu si kupte konektor coby protikus, hasící přístroj a zapojte takto:
Pro jistotu uvádím rozmístění vývodů u obvodu LM78L05:
Na nepájivém kontaktním poli to může vyhlížet třeba takhle (omlouvám se, na fotce je omylem trochu jiný kondenzátor):
Až se vám vše podaří pospojovat dohromady, podívejte se na stránku projektu AVR Cross Development Kit, který se zabývá programováním jednočipů AVR a stáhněte si a nainstalujte alespoň tyto balíčky:
Dále zkuste napsat
uisp -dlpt=/dev/parport0 -dprog=dapa -v=4
|
a jednočip by se měl takto nadetekovat:
Reset inactive time (t_reset) 1000 us
|
Pokud místo toho dostanete hlášku
Reset inactive time (t_reset) 1000 us
|
něco je špatně se zapojením. Toho Segmentation fault
si
nevšímejte. Jestliže příkaz vyplivne nějakou jinou chybu,
zkotrolujte práva na /dev/parport0
a také to, jestli máte
k dispozici moduly pro paralelní port:
Pokud se obvod způsobně ohlásí, máte protentokrát vyhráno. Příkazem
uisp -dlpt=/dev/parport0 -dprog=dapa --erase
|
můžete kód v čipu smazat. Smazání čipu znamená nastavení všech bitů na jedničku. O tom, že jsou v čipu samé jedničky, se lze přesvědčit takto:
uisp -dlpt=/dev/parport0 -dprog=dapa --download
|
Příkaz by měl vypsat obsah paměti čipu na standardní výstup. Je to bohužel v Intel HEX formátu. Uvidíte, že každý řádek má jakousi hlavičku, po které následují data, a na konci každého řádku je zase cosi. Popis formátu je uveden například zde, kdyby to snad někoho zajímalo. Z výpisu lze však vytušit, že čip je opravdu prázdný a obsahuje samé FF.
Prozatím nebyl výsledek snažení nijak závratný, ale příště bude řeč o vytvoření fungujícího kódu. Jestli to myslíte s programováním jednočipů vážně a zrovna se chystáte do obchodu na nákup součástek, připište si do seznamu ještě
Běžte si to všechno koupit a možná se příště dozvíte, co s tím
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: